#/bin/bash

#iptables -t filter -F  #情况规则
#iptables -t filter -nvL  --line  #详细查看所有的规则
#设置当连接状态为RELATED和ESTABLISHED时，允许数据进入服务器
iptables -t filter  -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
#tcp的20,21,22,80,443端口给允许放行
iptables -t filter -A INPUT -p tcp -m multiport --dports 20,21,22,80,443 -j ACCEPT
#允许内部数据循回
iptables -t filter -A INPUT  -i lo -j ACCEPT
#允许外部ping服务器
iptables -t filter -A INPUT -p icmp -m icmp --icmp-type 8/0 -j ACCEPT
iptables -t filter -A INPUT -p icmp -m icmp --icmp-type 11/0 -j ACCEPT
#设置状态为RELATED和ESTABLISHED的数据可以从服务器发送到外部
iptables -t filter -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#允许服务器使用外部dns解析域名
iptables -t filter -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT

#出的端口给打开
iptables -t filter -A OUTPUT -p tcp -m multiport --dports 80,443 -j ACCEPT
#允许从服务器ping外部
iptables -t filter -A OUTPUT -p icmp -m icmp --icmp-type 8/0 -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -m icmp --icmp-type 11/0 -j ACCEPT

#centos7要安装iptables-service  
#保存规则
service iptables save
#重启防火墙
systemctl restart iptables.service
